home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
QRZ! Ham Radio 6
/
QRZ Ham Radio Callsign Database - Volume 6.iso
/
mac
/
files
/
ant_nec
/
nec_hist.txt
< prev
next >
Wrap
Text File
|
1994-11-27
|
12KB
|
245 lines
.........................................................................
from the Applied Computational Electromagnetics Society Newsletter,
vol. 8, no. 3, pp. 8-10, November 1993.
.........................................................................
INFORMATION ON THE HISTORY AND AVAILABILITY OF NEC-MOM CODES
FOR PC's & UNIX
(part I of II)
Dick Adler
ACES Software Exchange Committee
(This short note was written to address the many requests ACES receives
concerning the status of the NEC-MOM codes [NEC2 (ca 1981), NEC3 (ca
1985), and NEC4 (1993)]. The Software Exchange Committee is tasked to
distribute information on the availability of all major CEM tools. The
committee's Software Source Book (under development) will list all
available CEM codes and will cite information on eligibility for
purchasing restricted codes like NEC3 and NEC4.)
NEC2
The original NEC2 was developed for the Navy by Lawrence Livermore
Labs in 1981. Jerry Burke has been and still is the major contributor
to the NEC-MOM family of codes. The code has always been a "card
image/batch run" operation initially designed for CDC and later for VAX
computers. It has been ported to many other machines by myriad
individuals. Any existing copy of the code has a genealogy, but few
users are aware of where their copy "has been" and how "up to date" its
capabilities are.
NEC2's identifying features are the Sommerfield-Norton ground
interaction for wire structures above lossy ground and a numerical
Green's function that provides an option for modifying a structure
without repeating the complete solution.
The documentation that exists FOR THE ORIGINAL VERSION OF THE CODE
is in three parts: A theory manual (Vol. 1, Pt. I), a code manual
(Vol I, Pt. II) containing a detailed description of the Fortran source
code, and a user manual (Vol. 2, Pt. III) containing instructions on
using the code with some sample input/outputs. Jerry Burke can
sometimes provide some of these manuals or they can be obtained through
NTIA as NOSC TD 116.
The PC versions of NEC2 fall into two categories:
1. A code that "fits into" the DOS-limited 640 kB of memory space, and
2. A code that will compile and run (hopefully) under DOS-extended
16 and 32 bit Fortran 77 compilers. (The 32-bit versions of these
compilers are usually derived from 32-bit UNIX Fortran 77 compilers.
Typical companies providing these compilers and DOS extenders are Lahey,
Microway, OTG/Salford, Watcom, Microsoft (power Book Fortran), etc. If
a particular version of a modified NEC2 compiles and runs under one
release of one version of these compilers, it does not mean it will
still run under newer, updated releases. Sometimes the problems are
traceable to the ability or tolerance of the compilers to accept non-77
statements that abound in NEC2.)
IGUANA
NOSC began development, in the early 1980's, of a software package
called IGUANA (Interactive Graphics Utilities for Automated NEC
Analysis). IGUANA was developed on an IBM-PC compatible platform with
CGA graphics and with peripherals available at the time. It featured a
heavily prompted input editor for creating NEC input data sets (card
decks). It also allowed a serious user to input geometry data via an
acoustic digitizer. The visualization of the input structure (wires
only) was a useful feature. The output data could be plotted via a
simple graphics package called GRAPS which allowed linear, log, polar,
Smith Chart, and limited 2-D contour plots. IGUANA was intended to feed
a mainframe-resident version of NEC2 and to receive ASCII output data
for plotting. A collection of other utilities was included in IGUANA.
As is often the case with software development, the limited funds
available to NOSC did not provide for a bug-free version of the several
IGUANA's that were developed. Nevertheless, users learned to live with
the limitations and quirks of early IGUANA's. Version 4.2 was the most
useable and formed the basis for NEEDS 1.0 (The Numerical
Electromagnetics Engineering Design System) that would become the first
PC-based NEC software package, in 1987. The current NEEDS 2.0 contains
IGUANA 5.4. Version 6 of IGUANA was initiated several years ago, but
was never debugged.
NEEDS and NEC81
During the mid-80's, mainframe NEC users modified NEC2 to "fit" into
the severe 640 kB limit of the PC-DOS environment. Compilers available
at that time (notably Microsoft Fortran 3.31 and RM Fortran 2.4) allowed
overlay structures and versions of NEC2 for PC's sprung up all over the
planet. Some were limited to 75 unknowns (no overlay) and some boasted
over 500 unknowns (by stripping out many of NEC2's memory-consuming
features.) The version of NEC-PC in NEEDS 1.0 was somewhat limited in
capability, but still provided many users with a useable miniature
version of NEC2 on a PC. The most bug-free and successful porting of
NEC2 to the PC was completed in 1989 by David J. Pinion, P.E., who
named it NEC81. Dave, starting with an IBM mainframe version which had
been overlaid to fit into a 360 kB "mainfrane" at NPS, managed to
squeeze 90 unknowns (an array of 8100 elements) into memory, with a
maximum limit of 300 unknowns, using the NEC2 out-of-core capability.
(Out-of-core uses RAM disk or hard disk to store files when the in-core
capability is exceeded. Notice the use of mainframe terms like "core"
in place of memory.) Dave geneorously made version 2.2 of the code
available to ACES for inclusion in NEEDS 2.0, the still-current version.
.........................................................................
from the Applied Computational Electromagnetics Society Newsletter,
vol. 8, no. 3, pp. 8-10, November 1993.
.........................................................................
INFORMATION ON THE HISTORY AND AVAILABILITY OF NEC-MOM CODES
FOR PC's & UNIX
(part II of II)
Dick Adler
ACES Software Exchange Committee
DOS-EXTENDED NEC2's
During the mid 1980's (before the 80386 arrived), IBM introduced
their ill-fated PC/RT which used a 32 bit RISC processor, running under
AIX, a version of UNIX. The PC/RT was aimed at the frustrated PC user
that refused to take the UNIX "cold shower". It offered a "DOS"
capability (80286) under the UNIX banner. Theoretically, one could port
a mainframe NEC to the RT, compile, and link it under the 32-bit RT
Fortran, run NEC jobs under UNIX, while at the same time, under the DOS
umbrella, crank out input datasets and process outputs. It failed
miserably. The Fortran was a version that Bell Labs "threw in the
garbage can" because it was too buggy to fix. Someone forked it out of
the trash and "repaired" it, but the repairs could not fix the slow,
inaccurate performance. And the RT's DOS operation was slower than the
original 6 MHz IBM-PC/AT; the DOS operations were emulated under UNIX
and screen writes were done at about 300 baud, and looked like a
Selectric typewriter!
Other attempts to juice-up AT-based Fortran codes involved special
68000-based co-processor add-in cards. The Definicon 20 MHz board was
popular, but its Achilles heel was an ill-fated compiler that had the
same roots as the IBM RT compiler. Several other early 32-bit extended
DOS compilers suffered from the same origins. (Their common ancestry
was discovered when the same identical error numbers and error messages
arose with every new compiler we tried!)
The first successful PC Fortran 77 32-bit compiler that was robust
enough to handle NEC was the Microway NDP Fortran v. 1.4.3.
Unfortunately, the compiler was modified and upgraded so often that very
few people could keep up with the "improvements". As the version
numbers increased, the solution times of NEC problems also increased.
Meanwhile, Microsoft was never able to produce a true 32-bit compiler.
Rumour has it that their early 32-bit compiler staff abandoned ship and
went to Absoft and produced an excellent Macintosh 32-bit Fortran
compiler, which Jerry Burke uses very successfully on all versions of
NEC. During the last 3-4 years, a flood of 32-bit compilers has washed
over the PC community. There does not seem to be a comprehensive list
of each version with documented highlights of successes and failures.
The ACES Newsletter is a logical home for such an effort. Perhaps this
short note will spark interest in sharing information among the NEC-PC
community, via the Newsletter.
The various 32-bit compilers all support the xxx87 Intel math
co-processor which features a double-precision mantissa. The speedy
Weitek math coprocessor has been used on NEC but ultimately fails in
high-precision solutions due to its limited single-precision mantissa.
Most Weitek chip versions have not supported DOUBLE PRECISION
computations. Use of single precision computations with the xxx387
coprocessor is not successful. The NEC code was designed for a 64-bit
CDC system, so VAX and IBM 32-bit systems demand double precision
versions of the source code, or the use of an autodouble option at
compile time. NEC81 judiciously uses double precision based on a trial
and error elimination of unneeded double precision calls, a technique
that allowed the maximum number of unknowns in the restricted DOS
contiguous memory space. Such careful use of DP is not necessary in
DOS-extended operation. The penalty for brute-force DP use is only
about 15% increase in run-time for most current 32-bit compilers.
32-BIT NEC2's:
A MACINTOSH version of NEC2 was produced by Jerry Burke then was
converted to a PC version via the Microway compiler by Tom Wallace of
Arco Power Technology Inc. of Washington, D.C., and was increased to
2000 or more unknowns and was called NEC2S and NEC2D. It has not been
extensively tested by the ACES Software Exchange Committee and as such
is not considered a supported code. It will be sent to requestors with
no prediction of performance capability, but any and all experiences
with its use that are reported will be shared via the [ACES] Newsletter.
These reports will be used to help elevate the code to placement on ACES
SOFTWARE LIST for distribution to anyone.
NEC2S and NEC2D for a UNIX SUN4 workstation has been provided to
ACES by Per Hj. Lehne of Norwegian Telcom Research for use on a UNIX
SUN SPARC4 workstation. The same conditions of support are in existance
as for the ARCO PC NEC2. The origin of NEC2/UNIX is the ARCO NEC2D.
NEC2S/MAC and NEC2D/MAC for the Macintosh, originated by Jerry
Burke, are available from Jerry Burke under the same conditions.
MININEC CODES AND SUPPORT SOFTWARE
The NOSC public domain version of MININEC 3.13 is distributed via
ACES as part of the NEEDS 2.0 package. It is interactive but has no
built-in structure viewer nor output plotting. Several amateur
radio-targeted third-party versions of MININEC have been developed by
computer-savvy amateurs and are for sale. The two most popular MININEC
derivatives are MN by Brian Beezley of Vista, CA and ELNEC by Roy
Lewallen of Beaverton, OR. Both have excellent structure viewers and
pattern plotters. Both can superimpose wire currents (including phase)
on the structure views and ELNEC supports a one-plane radiation pattern
overlaid on the structure view. ELNEC's data input scheme is easy to
use for the beginner and offers limited geometry manipulation and
duplication features, including a tapering option for segments. MN
provides near fields; ELNEC does not.
NEC3 AND NEC4
The remaining NEC codes in the preface paragraph, NEC3 (allows
buried wires) and NEC4 (improved accuracy for stepped-radius wires and
electrically-small segments, adds end caps and insulated wires, smart
input card-reader, catenary-shaped wires, and improved error detection)
are still Military Critical technology. That status is under question
and may hopefully disappear eventually.
.........................................................................